#pragma once
#include "CCoverageBuffer.h"

class CEdge;

class CAntialiasedFiller
{
public: 
	CCoverageBuffer m_coverageBuffer;


	CAntialiasedFiller();
	~CAntialiasedFiller();
	HRESULT RasterizeScanline(struct RasterizerData * pRasterizerData, XINT32 xOffset, XINT32 yOffset, CActiveEdge * * ppFreeActiveEdgePool, XINT32 nSubpixelYCurrent, XINT32 nSubpixelYBottom, enum XcpFillMode fillMode);
	static XUINT32 HitTestPath(CActiveEdge *, CEdge * *, XUINT32 *, XINT32 *, XINT32, XINT32, CActiveEdge * *, XINT32, XINT32, enum XcpFillMode, XINT32);
	static XUINT32 HitTestPathAgainstRect(CActiveEdge *, CEdge * *, XUINT32 *, XINT32 *, XINT32, XINT32, CActiveEdge * *, XINT32, XINT32, XINT32, XINT32, enum XcpFillMode, XINT32);
	HRESULT FillEdges(enum XcpFillMode fillMode, const CActiveEdge * pActiveList, XINT32 iCurrentY);

};
